home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1995 August: Tool Chest / Dev.CD Aug 95 TC / Dev.CD Aug 95 TC.toast / New System Software Extensions / MacODBC SDK 2.0b1 / ODBC Tools / Libraries / WinUtils.c < prev    next >
Encoding:
Text File  |  1995-06-13  |  3.2 KB  |  170 lines  |  [TEXT/MPS ]

  1. //%CPW_START%
  2. /**************************************************************
  3. COPYRIGHT © 1993-94, VISIGENIC SOFTWARE, INC., ALL RIGHTS RESERVED.
  4. THIS DOCUMENT CONTAINS TRADE SECRET DATA WHICH IS THE PROPERTY OF
  5. VISIGENIC SOFTWARE, INC.  THIS DOCUMENT IS SUBMITTED TO RECIPIENT IN
  6. CONFIDENCE.  INFORMATION CONTAINED HEREIN MAY NOT BE USED, COPIED OR
  7. DISCLOSED IN WHOLE OR IN PART EXCEPT AS PERMITTED BY WRITTEN AGREEMENT
  8. SIGNED BY VISIGENIC, INC.
  9.  
  10. THIS MATERIAL IS A CONFIDENTIAL TRADE SECRET AND PROPRIETARY
  11. INFORMATION OF VISIGENIC SOFTWARE, INC., AND MAY NOT BE REPRODUCED,
  12. USED, SOLD OR TRANSFERRED TO ANY THIRD PARTY WITHOUT THE PRIOR WRITTEN
  13. CONSENT OF THE VISIGENIC SOFTWARE, INC. THIS MATERIAL IS ALSO
  14. COPYRIGHTED AS AN UNPUBLISHED WORK UNDER TITLE 17 OF THE UNITED STATES
  15. CODE.  UNAUTHORIZED USE, COPYING OR OTHER REPRODUCTION IS PROHIBITED
  16. BY LAW.
  17.  
  18.  
  19. *************************************************************/
  20. /*
  21. $Header$
  22.  
  23. $Log$
  24. */
  25. //%CPW_END%
  26. /*  WinUtils.c : Provides a set of Windows Utility routines on the Macintosh */
  27.  
  28. #include    <CType.h>
  29. #include    <stdlib.h>
  30.  
  31. //#include    <stdio.h>
  32. //#include    <math.h>
  33.  
  34. #include    "WinUtils.h"
  35.  
  36.  
  37. char    *_itoa(int value, char *string, int radix )
  38. {
  39.     register int    i, j, sFlag;
  40.     char    buf[18];
  41.  
  42.     if ( !value ) {
  43.         string[0] = '0';
  44.         string[1] = '\0';
  45.         return string;
  46.     }
  47.  
  48.     sFlag = (radix == 10) && (value < 0);
  49.     value = abs(value);
  50.  
  51.     for ( i = j = 0 ; value && (i < 17) ; i++)
  52.     {
  53.         if ( (buf[i] = value % radix) > 9 )
  54.             buf[i] += 'a' - 10;
  55.         else
  56.             buf[i] += '0';
  57.         value /= radix;
  58.     }
  59.     if ( sFlag )
  60.         buf[i++] = '-';
  61.  
  62.     while ( i-- )
  63.         string[j++] = buf[i];
  64.     string[j] = '\0';
  65.  
  66.     return string;
  67. }
  68.  
  69. char * _ltoa(long value, char *string, int radix )
  70. {
  71.     register int i, j, sFlag;
  72.     char buf[34];
  73.  
  74.     if ( value == 0L )
  75.     {
  76.         string[0] = '0';
  77.         string[1] = '\0';
  78.         return string;
  79.     }
  80.  
  81.     sFlag = (radix == 10) && (value < 0L);
  82.     value = abs(value);
  83.  
  84.     for ( i = j = 0 ; (value != 0L) && (i < 33) ; i++ )
  85.     {
  86.         if ( (buf[i] = value % radix) > 9 ) 
  87.             buf[i] += 'a' - 10;
  88.         else
  89.             buf[i] += '0';
  90.         value /= radix;
  91.     }
  92.     if ( sFlag )
  93.         buf[i++] = '-';
  94.  
  95.     while ( i--)
  96.         string[j++] = buf[i];
  97.     string[j] = '\0';
  98.  
  99.     return string;
  100. }
  101.  
  102.  
  103. char    *_ultoa(unsigned long value, char *string, int radix )
  104. {
  105.     register int    i, j;
  106.     char    buf[34];
  107.  
  108.     if ( value == 0L ) {
  109.         string[0] = '0';
  110.         string[1] = '\0';
  111.         return string;
  112.     }
  113.  
  114.     for ( i = j = 0 ; (value != 0L) && (i < 34) ; i++) {
  115.         if ( (buf[i] = value % radix) > 9 )
  116.             buf[i] += 'a' - 10;
  117.         else
  118.             buf[i] += '0';
  119.         value /= radix;
  120.     }
  121.     while ( i-- )
  122.         string[j++] = buf[i];
  123.     string[j] = '\0';
  124.  
  125.     return string;
  126. }
  127.  
  128. char *
  129. strlwr( char *s)
  130. {
  131.     register char *s1 = s;
  132.  
  133.     while (*s1)
  134.         *(s1++) = tolower(*s1);
  135.  
  136.     return s1;
  137. }
  138.  
  139. /*
  140.  *    Function -    stricmp
  141.  *    The function performs a case independent comparison of its parameters 
  142.  *    according to the ASCII collating sequence and returns an 
  143.  *    integer less than, equal to, or greater than 0 when s1 is less 
  144.  *    than, equal to, or greater than s2, respectively.
  145.  *
  146.  */
  147. int stricmp (const char *s1, const char *s2)
  148. {
  149.     for(;*s1 && *s2; s1++, s2++)
  150.     {
  151.         if (toupper(*s1) != toupper(*s2) )
  152.         {
  153.             if (toupper(*s1) > toupper(*s2) )
  154.                 return(1);
  155.             else
  156.                 return(-1);
  157.         }
  158.     }
  159.  
  160.     if (!(*s1 && *s2))     
  161.         return(0);
  162.     else
  163.     {
  164.         if (*s1)
  165.             return(1);
  166.         else
  167.             return(-1);
  168.     }
  169. }
  170.